using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Runtime.Serialization;
using System.Collections;
using System.Data;
using System.ComponentModel;
using System.Data.OracleClient;
using WPFExcelReport.Helpers;
using WPFExcelReport.Controls;
using ReflectionStudio.Core.Events;

namespace WPFExcelReport
{ 
    public partial class VLMFKART
    {
        public void SetUpNewRow(ref DataRow dwReturn)
        { 
            switch (app.company)
            {
                case "YGR":
                case "YCC":
                default:
                    #region=========
                    dwReturn["LMFMANDANT"] = "00";
                    dwReturn["LMFKUNDNR"] = "00000000";
                    dwReturn["LMFKARTNR"] = "96/2      ";
                    dwReturn["LMFFARBE"] = "1         ";
                    dwReturn["LMFDESS"] = "          ";
                    dwReturn["LMFCOLORIT"] = "          ";
                    dwReturn["LMFBEZ"] = "RED                 ";
                    dwReturn["LMFVORLNR"] = "1              ";
                    dwReturn["LMFPREISGRP"] = "D";
                    dwReturn["LMFGRPBEZ"] = "                    ";
                    dwReturn["LMFRUESTGRP"] = "   ";
                    dwReturn["LMFPRUEFGRP"] = " ";
                    dwReturn["LMFROHFARBE"] = "          ";
                    dwReturn["LMFMUDESS"] = "          ";
                    dwReturn["LMFUNIFARB"] = "          ";
                    dwReturn["LMFSCHABANZ"] = "0";
                    dwReturn["LMFUSCHABANZ"] = "0";
                    dwReturn["LMFFDVF"] = "   ";
                    dwReturn["LMFEZUSTAND1"] = "    ";
                    dwReturn["LMFEZUSTAND2"] = "    ";
                    dwReturn["LMFEZUSTAND3"] = "    ";
                    dwReturn["LMFEZUSTAND4"] = "    ";
                    dwReturn["LMFEZUSTAND5"] = "    ";
                    dwReturn["LMFEZUSTAND6"] = "    ";
                    dwReturn["LMFEZUSTAND7"] = "    ";
                    dwReturn["LMFEZUSTAND8"] = "    ";
                    dwReturn["LMFEZUSTAND9"] = "    ";
                    dwReturn["LMFEZUSTAND10"] = "    ";
                    dwReturn["LMFFA"] = "100";
                    dwReturn["LMFGA"] = "100";
                    dwReturn["LMFQA"] = "100";
                    dwReturn["LMFQPKTH"] = "0";
                    dwReturn["LMFQPKTLH"] = "0";
                    dwReturn["LMFSFKZ"] = "N";
                    dwReturn["LMFRGBWERT1"] = "000";
                    dwReturn["LMFRGBWERT2"] = "000";
                    dwReturn["LMFRGBWERT3"] = "000";
                    dwReturn["LMFKZDUMCOL"] = " ";
                    dwReturn["LMFSUBSYS"] = "  ";
                    dwReturn["LMFKZNOGEN"] = " ";
                    dwReturn["LMFPRODSTA"] = " ";
                    dwReturn["LMFKATFARBE"] = "          ";
                    dwReturn["LMFFILLER"] = "                                                    ";
                    dwReturn["LMFAENDZL"] = "0";
                    dwReturn["LMFAENDBEN"] = "        ";
                    dwReturn["LMFAENDDAT"] = "0";
                    dwReturn["LMFNEUBEN"] = "INTEXE  ";
                    dwReturn["LMFNEUDAT"] = "20150516";
                    #endregion 
                    break;
            }
        }

        public void InsertLMFKART(DataRow dwData, string ITXDBVERSION = "50.24")
        {
            dwData["LMFNEUBEN"] = app.User;
            dwData["LMFNEUDAT"] = date;
            or1 = OracleDB.CreateCommand();
            switch (app.company)
            {
                default:
                case "YGR":
                    or1.CommandText = "INSERT INTO LMFKART ( LMFMANDANT,LMFKUNDNR,LMFKARTNR,LMFFARBE,LMFDESS,LMFCOLORIT,LMFBEZ,LMFVORLNR,LMFPREISGRP,LMFGRPBEZ,LMFRUESTGRP,LMFPRUEFGRP,LMFROHFARBE,LMFMUDESS,LMFUNIFARB,LMFSCHABANZ,LMFUSCHABANZ,LMFFDVF,LMFEZUSTAND1,LMFEZUSTAND2,LMFEZUSTAND3,LMFEZUSTAND4,LMFEZUSTAND5,LMFEZUSTAND6,LMFEZUSTAND7,LMFEZUSTAND8,LMFEZUSTAND9,LMFEZUSTAND10,LMFFA,LMFGA,LMFQA,LMFQPKTH,LMFQPKTLH,LMFSFKZ,LMFRGBWERT1,LMFRGBWERT2,LMFRGBWERT3,LMFKZDUMCOL,LMFSUBSYS,LMFKZNOGEN,LMFPRODSTA,LMFKATFARBE,LMFFILLER,LMFAENDZL,LMFAENDBEN,LMFAENDDAT,LMFNEUBEN,LMFNEUDAT)"
                    + " VALUES (:LMFMANDANT:,:LMFKUNDNR:,:LMFKARTNR:,:LMFFARBE:,:LMFDESS:,:LMFCOLORIT:,:LMFBEZ:,:LMFVORLNR:,:LMFPREISGRP:,:LMFGRPBEZ:,:LMFRUESTGRP:,:LMFPRUEFGRP:,:LMFROHFARBE:,:LMFMUDESS:,:LMFUNIFARB:,:LMFSCHABANZ:,:LMFUSCHABANZ:,:LMFFDVF:,:LMFEZUSTAND1:,:LMFEZUSTAND2:,:LMFEZUSTAND3:,:LMFEZUSTAND4:,:LMFEZUSTAND5:,:LMFEZUSTAND6:,:LMFEZUSTAND7:,:LMFEZUSTAND8:,:LMFEZUSTAND9:,:LMFEZUSTAND10:,:LMFFA:,:LMFGA:,:LMFQA:,:LMFQPKTH:,:LMFQPKTLH:,:LMFSFKZ:,:LMFRGBWERT1:,:LMFRGBWERT2:,:LMFRGBWERT3:,:LMFKZDUMCOL:,:LMFSUBSYS:,:LMFKZNOGEN:,:LMFPRODSTA:,:LMFKATFARBE:,:LMFFILLER:,:LMFAENDZL:,:LMFAENDBEN:,:LMFAENDDAT:,:LMFNEUBEN:,:LMFNEUDAT:)";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
            }

            Connect2Proxy(or1);
        }
        public DataSet QueryLMFKART(DataRow dwData, int option = 1)
        { 
            
             or1 = OracleDB.CreateCommand();
            switch (option)
            {
                case 1:
                    or1.CommandText = "SELECT * FROM   LMFKART  WHERE LMFMANDANT=:LMFMANDANT: AND LMFKARTNR=:LMFKARTNR: AND LMFFARBE=:LMFFARBE: AND LMFDESS=:LMFDESS: AND LMFCOLORIT=:LMFCOLORIT: ";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
                case 2:
                    or1.CommandText = "SELECT LMFKARTNR,LMFFARBE,LMFDESS,LMFCOLORIT,LMFBEZ,LMFPREISGRP FROM   LMFKART  WHERE LMFMANDANT=:LMFMANDANT: AND LMFKARTNR=:LMFKARTNR: ";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
                case 3:
                    or1.CommandText = "SELECT * FROM   LMFKART  WHERE LMFMANDANT=:LMFMANDANT: ";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
                case 99:
                    or1.CommandText = "SELECT * FROM LMFKART  WHERE ROWNUM<50";
                    break;
                default:
                    break;
            }
           SResult = Connect2Proxy(or1); 
            SResult.Tables[0].TableName = "LMFKART"; 
           return SResult;
        }
        public DataSet QLMFARBE(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
            or1.CommandText = "SELECT * FROM   LMFKART  WHERE LMFMANDANT=:LMFMANDANT: AND LMFKARTNR=:LMFKARTNR: AND LMFFARBE=:LMFFARBE:   ";
            or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
            SResult = Connect2Proxy(or1);
            SResult.Tables[0].TableName = "LMFKART";
            return SResult;
        }
        public void DeleteLMFKART(DataRow dwData, int option = 1)
        {

            or1 = OracleDB.CreateCommand();
            switch (option)
            {
                case 1:
                    or1.CommandText = "DELETE FROM LMFKART  WHERE LMFMANDANT=:LMFMANDANT: AND LMFKARTNR=:LMFKARTNR: AND LMFFARBE=:LMFFARBE: AND LMFDESS=:LMFDESS: AND LMFCOLORIT=:LMFCOLORIT: ";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData);
                    break;
                default:
                    break;
            }
            Connect2Proxy(or1);
        }
        public void UpdateLMFKART(DataRow dwData,   int option = 1)
        { 
            or1 = OracleDB.CreateCommand();
            switch (app.company)
            {
                default: 
                    ULMFKART(dwData);
                    break;
            }
            Connect2Proxy(or1);
        }
        public void ULMFKART(DataRow dwData)
        {
            or1 = OracleDB.CreateCommand();
             
                    or1.CommandText = "UPDATE LMFKART SET LMFMANDANT=:LMFMANDANT:,LMFKUNDNR=:LMFKUNDNR:,LMFKARTNR=:LMFKARTNR:,LMFFARBE=:LMFFARBE:,LMFDESS=:LMFDESS:,LMFCOLORIT=:LMFCOLORIT:,LMFBEZ=:LMFBEZ:,LMFVORLNR=:LMFVORLNR:,LMFPREISGRP=:LMFPREISGRP:,LMFGRPBEZ=:LMFGRPBEZ:,LMFRUESTGRP=:LMFRUESTGRP:,LMFPRUEFGRP=:LMFPRUEFGRP:,LMFROHFARBE=:LMFROHFARBE:,LMFMUDESS=:LMFMUDESS:,LMFUNIFARB=:LMFUNIFARB:,LMFSCHABANZ=:LMFSCHABANZ:,LMFUSCHABANZ=:LMFUSCHABANZ:,LMFFDVF=:LMFFDVF:,LMFEZUSTAND1=:LMFEZUSTAND1:,LMFEZUSTAND2=:LMFEZUSTAND2:,LMFEZUSTAND3=:LMFEZUSTAND3:,LMFEZUSTAND4=:LMFEZUSTAND4:,LMFEZUSTAND5=:LMFEZUSTAND5:,LMFEZUSTAND6=:LMFEZUSTAND6:,LMFEZUSTAND7=:LMFEZUSTAND7:,LMFEZUSTAND8=:LMFEZUSTAND8:,LMFEZUSTAND9=:LMFEZUSTAND9:,LMFEZUSTAND10=:LMFEZUSTAND10:,LMFFA=:LMFFA:,LMFGA=:LMFGA:,LMFQA=:LMFQA:,LMFQPKTH=:LMFQPKTH:,LMFQPKTLH=:LMFQPKTLH:,LMFSFKZ=:LMFSFKZ:,LMFRGBWERT1=:LMFRGBWERT1:,LMFRGBWERT2=:LMFRGBWERT2:,LMFRGBWERT3=:LMFRGBWERT3:,LMFKZDUMCOL=:LMFKZDUMCOL:,LMFSUBSYS=:LMFSUBSYS:,LMFKZNOGEN=:LMFKZNOGEN:,LMFPRODSTA=:LMFPRODSTA:,LMFKATFARBE=:LMFKATFARBE:,LMFFILLER=:LMFFILLER:,LMFAENDZL=:LMFAENDZL:,LMFAENDBEN=:LMFAENDBEN:,LMFAENDDAT=:LMFAENDDAT:"
                        + " WHERE LMFMANDANT=:LMFMANDANT: AND LMFKARTNR=:LMFKARTNR: AND LMFFARBE=:LMFFARBE: AND LMFDESS=:LMFDESS: AND LMFCOLORIT=:LMFCOLORIT: ";
                    or1.CommandText = INTEXDBC.InjectData(or1.CommandText, dwData); 
            Connect2Proxy(or1);
        }
    }
}
